Objectives
Individual Assignment
1) I have to make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB fabrication process.
Group Assignment
1) To characterize the design rules for our PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling and document our work.
Modela MDX20 Machine
For milling the circuit I used a Roland MDX-20. The Modela MDX20 is a Desktop 3D scanning and Milling machine by Roland. Easy to use,Compatiable with popular softwares.
Work area 203.2 x 152.4 mm
Z stroke 60.5 mm
Spindle speed 6500 rpm
FabISP is an in-system programmer for AVR micro controllers. There are different versions of ISP's available in the archive. I selected Brians Version of Fab ISP called "FabTinyISP".
FabTinyISp Schematic
FabTinyISp Position Diagram
Milling work is divided into two phases:
1.milling the PCB traces(1/64)
2.milling the out line (1/32)
For each of these phases we have to use a different mill drill bit and different settings. We use the fab mods to give commands to the Modella and run the cutting program. This machine is very delicate and the bits are very fragile, take care in removing the milling cutters and correcting the zero setting.Modella MDX 20 is just like any other CNC mechine. We use the same fab modules which we used in vinyle cutting for milling also.
The fab module converts the .png image we give into a series of tool paths, these tool paths are defined by their coordinates. The .png image is a black and white layout of the board, and the black portions will be milled and the white portion is where the copper will be left.
Inn-order to complete the PCB manufacturing process we have to do 2 process
Tracing-Here we trace out all the circuit paths .For milling traces, we use the 1/64th inch (0.4mm) bit
Cutting-Here we seperate the functional part of the pcb fram unwanted ares.for cutting we use 1/32th (0.8mm) inch bit.
Open Fab Mods as similar as we opened in Vinyl Cutter and select PCB
The final step is to verify the origin and to send the file for milling by clicking on send from WebSocket Module.
Next you need to set the origin by going onto suitable coordinates referred from the work area in the milling machine and don't ever forget to remember/screenshot the X & Y coordinates. You can repeat the same process for cutting as well but make sure that you use 1/32 bit and ensure that the origin coordinates are alike.
Clean the PCB and Fix it to the CNC sacrificial layer with a double side tapes.Please make sure that the whole milling portion of the pcb is fixed to the table with the tape .If not the pcb may miss Aline and may damage the cutting bit or the pcb itself.1st we were suppose to prepare the sacrificial layer.But we already had a sacrificial layer .So I decided to go with it.
An L-key is used for releasing the bit from the chuck.
To set the Z-value correctly , we can use multiple ways but the most efficient and easiest way i think is
>Raise the Z axis to the top
>Release the chuck using the L-key
>Insert the 1/64 inch milling bit a little more in to the chuck tight the screw
>Down the z axis close as possible to the bed
>Unscrew the chuck and release the bit
>Slightly press the bit close to the bed and tight the chuck screw
The 1/64 inch is used for tracing and 1/32 inch bit is used for cutting
Generated Toolpath.
Remove the PCD carefully from the bed with a Tweezer or with the edge of a steel ruler.Taddaaaa.
Clean the bed and the board with a vacuum cleaner after completing the milling.
I have very little experience in soldering components that too not surface soldering.The very first step is to collect all the required electronic components and should stick it against a list of components written in a sheet of paper. I had used a single sided tape to stick components with a little bent at each ends to stick it with the paper. The tape will keep the components in place and it will reduce a lot of confusions in future.
Soldering Process(Credits :Abinav Ajith)
FabTiny ISP
Once you finish soldering the components, It is time to test the connections and program the board. Look carefully at the board to see if all the connections are proper. For Programming I referred the link First we need to install all necessary software for programming, which include "Avrdude" and "GCC" To install these softwares in Ubuntu(since i don't have Ubndtu ,I have done this on my colleague(Saheen P) laptop ),
Open the terminal and follow the steps :
sudo apt-get install flex byacc bison gcc libusb-dev avrdude
sudo apt-get install gcc-avr
sudo apt-get install avr-libc
sudo apt-get install libc6-dev
Now we need to download and unzip the firmware To download and unzip the FABISP firmware, Open the terminal and follow the steps :
cd ~/Desktop
wget http://fab.cba.mit.edu/classes/863.16/doc/tutorials/fabisp_programming/fabISP_0.8.2_firmware.zip
unzip fabISP_0.8.2_firmware.zip
The "Makefile" in the downloaded firmware is set up to work with AVRISP2 by default, Since we are using Atiny45 this firmware wont work. So you can use this file.
Now connect the ISP with the mother ISP which is already programmed via jumper cable. Connect in such a way that all the points in both the ISP are exactly same and connect it to the computer via USB port.
Follow the steps to run the device:
Go to the unziped firmware folder and open the terminal.
type "make"
type "make flash"
type "make fuses"
"make rstdisbl"
Blow the Reset Fuse
We need to change the bit that will turn the ATtiny45's reset pin into a GPIO pin.This will disable our ability to reprogram this ATtiny45 in the future, hence make sure everything is working before doing this. Connect your ISP programmer to your board one more time, and in the Terminal run. For that you need to type:
make rstdisbl.
This does the same thing as the make fuses command.with that, avrdude will never be able to talk to this chip again through the ISP header. Now our programmer is finished. To check the disabled pin. We can use the following command.
make flash.
(You can open device manager to know if its properly working)
Done .its Working.....
For the group assignment we need characterize the specifications of our PCB production process.Since i exaplined about the production process during my assignment next one is to find-out the resolution of mill bits we are using.
This image clearly shows the difference in milling resolution of 1/32 and 1/64 bits. Usually we use the 1/64 bit for milling trace and 1/32 for cutting and drilling. So it is okay of drilling and cutting.
The work was inspired from Joao Wilbert's experiment to make speakers using Vinyl Cutting process. Most coil based speakers work through the same principle of using a electromagnetic coil that is connected to a voltage source with the audio signal and a static magnet. Based on this principle I wanted to vinyl cut copper to create a sheet speaker. I selected one of traces from his model with average number of turns, then I had imported that image into MIT Mods. Since I did flexible PCB before it already knew the force and the speed(its 130 g/a and 2 cm/sec. After that with the help of my friend, I had soldered a wire onto the coil and for testing we had connected the coil to a CRO with a magnet unde the sheet to test the speaker. Hurray, it was working as expected, but the sound coming from the speaker was too low, then we found out the reason that the number of turns was too less. In order to test a custom music, I tried to connect the coil onto a audio jack. The steps are explained as follows:
Fabricated Speaker
Mobirise site builder - Check it